<?php #coding: utf-8 æ ø å ?>
<div id="hel">
<div class="indhold">

<?
// OVERSKRIFT
if($type == "begivenhed")
{
	?><h1 class="rubrik">Angivelse af historisk placering af <a class='rubrik' href="<? echo base_url(); ?>all/vis/se/<? echo $type; ?>/<? echo $stamdata['id']; ?>"><? echo $stamdata['navn']; ?></a> </h1><?
}
elseif($type == "entitet")
{
	?><h1 class="rubrik">Gruppetilhørsforhold for <a class='rubrik' href="<? echo base_url(); ?>all/vis/se/<? echo $type; ?>/<? echo $stamdata['id']; ?>"><? echo $stamdata['navn']; ?></a> </h1><?
}
elseif($type == "sted")
{
	?><h1 class="rubrik">Geografisk placering af <a class='rubrik' href="<? echo base_url(); ?>all/vis/se/<? echo $type; ?>/<? echo $stamdata['id']; ?>"><? echo $stamdata['navn']; ?></a> </h1><?
}

$id = $stamdata['id'];

//echo "<br>Rediger_normalrelationer viewet: stamdata er<br>"; print_r($stamdata); echo "<br>";


// 1) FINDER FØRST DE DIREKTE TILKNYTNINGER

/* Denner funktion finder overgrupperne til det "id" der gives, skriver dem ud og returnerer overgrupperne i et array. */
function se_lidt_op($type, $id, $stamdata){
	$array = array();
	//$array[] = $stamdata['id'];
	$result = mysql_query
	('
		SELECT '.$type.'_relation.over_id, navne_'.$type.'.navn
    	FROM '.$type.'_relation, navne_'.$type.' 
    	WHERE '.$type.'_relation.type="normal"
		AND '.$type.'_relation.slettet=0
		AND '.$type.'_relation.under_id='.$id.' AND navne_'.$type.'.id_'.$type.'='.$type.'_relation.over_id
	');

	?><br><?
	echo "<ul>";
	if(!empty($result))
	{
		while($query = mysql_fetch_array($result))
		{ 
			$navn_2 = $query['navn']; //gruppens navn 
			$id_2 = $query['over_id']; //gruppens id
			echo "<li><p class='ink'>".$navn_2."</p>";
			$array[] = $query['over_id'];
			?>
			<form action="<? echo base_url() ?>all/rediger/normalrelationer_over/<? echo $type; ?>/<? echo $stamdata['id']; ?>" method="post">
				<input type="hidden" name="aktion" value="slet">
				<input type="hidden" name="id_over" value="<? echo $id_2; ?>"/>
				<input class="submit" type=submit value="<? 
					if($type == "begivenhed"){ echo "fjern"; }
					elseif($type == "entitet"){ echo "fjern"; }
					elseif($type == "sted"){ echo "fjern"; } 
				?>"/>
					
			</form><br>
			<?
		}
	}
	echo "</ul>";
	return $array;
} //se_lidt_op() slut

if($type=="begivenhed")
{
	echo "<b class='rubrik'>".$stamdata['navn']." er en begivenhed i følgende historier:</b> <br>";
}
elseif($type=="entitet")
{
	echo "<b class='rubrik'>".$stamdata['navn']." er med i følgende grupper:</b> <br>";
}
elseif($type=="sted")
{
	echo "<b class='rubrik'>".$stamdata['navn']." ligger i følgende områder:</b> <br>";
}


$direkte_tilknytninger = se_lidt_op($type, $id, $stamdata);

//echo "direkte tilknytninger er "; print_r($direkte_tilknytninger); echo "<br><br>";

echo "<br>";

if($type == "begivenhed")
{
	echo "<b class='rubrik'>Dermed er ".$stamdata['navn']." indirekte en del af historierne:</b> <br><br>";
}
elseif($type == "entitet")
{
	echo "<b class='rubrik'>Dermed er ".$stamdata['navn']." indirekte med i:</b> <br><br>";
}
elseif($type == "sted")
{
	echo "<b class='rubrik'>Dermed ligger ".$stamdata['navn']." også indirekte i:</b> <br><br>";
}


function tael($id) //returnere antallet af overgrupper til entiteten med givne $id.
{
	$result = mysql_query
	('	
		SELECT COUNT(*)
    	FROM navne_entitet, entitet_relation
    	WHERE entitet_relation.type="normal"
		AND entitet_relation.slettet = 0
		AND entitet_relation.under_id='.$id.' AND navne_entitet.id_entitet=entitet_relation.over_id
	');
	while($query = mysql_fetch_array($result))
	{
		$antal = $query['COUNT(*)'];
	}
	return $antal;
}

$samler_indir = array(); //samler indirekte tilknytninger
$samler_dir = array(); //samler direkte tilknytninger


// 2) KIGGER NU HELT OP I HIERAKIET OG SER OM NOGLE AF DE INDIREKTE TILKNYTNINGER FOREKOMMER I ARRAYET OVER DIREKTE TILKNYTNINGER.

/*Denne funktion finder overgrupperne til det "id" der gives og tjekker om overgruppen findes i det array der er givet (over direkte tilknytninger).*/
function se_op($type, $id, $direkte_tilknytninger, $indirekte_tilknytninger, &$samler_indir, $stamdata)
{//$samler er det array der samler id'et på grupper der er overfloedige direkte tilknytninger til.
	//echo "<br>kigger paa id=".$id;
	if(!in_array($id, $direkte_tilknytninger))
	{
		//echo "<br> han / hun er ikke allerede med i denne gruppe<br>";
	}
	$antal_overgrupper = tael($id);
	//echo "antal_overgrupper til id = ".$id." er ".$antal_overgrupper."<br>";
	
	$array = array();
	
	if($antal_overgrupper == 1)
	{	
		$result = mysql_query
		('
			SELECT '.$type.'_relation.over_id, navne_'.$type.'.navn
  	 	 	FROM '.$type.'_relation, navne_'.$type.' 
   		 	WHERE '.$type.'_relation.type="normal"
			AND '.$type.'_relation.slettet = 0
			AND '.$type.'_relation.under_id='.$id.' AND navne_'.$type.'.id_'.$type.'='.$type.'_relation.over_id
		');


		echo "<ul>";
		while($query = mysql_fetch_array($result))
		{ 
			$navn_2 = $query['navn']; //gruppens navn 
			$id_2 = $query['over_id']; //gruppens id
			
			
			$indirekte_tilknytninger[] = $id_2;
			/*if(!in_array($id_2, $direkte_tilknytninger)) 
			{
					 
				
				

				//echo "<br>samler er nu";
				//print_r($samler);
			}*/
			
			if(!in_array($id_2,$samler_indir))
			{
				echo "<li><p class='ink'>".$navn_2."</p>";
				if(in_array($id_2, $direkte_tilknytninger))
				{
					if($type == "begivenhed")
					{
						echo "<p class='rubrik'> (".$stamdata['navn']." er overflødigt knyttet angivet som del af ddenne begivenhed)</p>";
					}
					elseif($type == "entitet")
					{
						echo "<p class='rubrik'> (".$stamdata['navn']." er overflødigt knyttet til denne gruppe)</p>";
					}
					elseif($type == "sted")
					{
						echo "<p class='rubrik'> (".$stamdata['navn']." er overflødigt knyttet til dette område)</p>";
					}
				}
				$samler_indir[] = $id_2;
			}
		}
		echo "</ul>";
	}
	elseif($antal_overgrupper > 1)
	{
		//echo "<br>stoppet fordi overgrupper er flere end een: ";
	}
	else
	{
		//echo "<br>stoppet fordi ingen overgrupper:";
	}
	//echo "<br>ved se_op slut er der i samler:";
	//print_r($indirekte_tilknytninger);
	return $indirekte_tilknytninger;
}//se_op() slut




function se_helt_op($type, $tidligere_niveau,$direkte_tilknytninger,$indirekte_tilknytninger, &$samler_indir, $stamdata)
{
	foreach ($tidligere_niveau as $i => $row)
	{
		//echo "<br>tidligere_niveau er ";
		//print_r($tidligere_niveau);
		//echo "<br>";
		
		$id = $tidligere_niveau[$i];
		
		//echo "id er ".$id."<br>";
		$naeste_niveau = se_op($type, $id,$direkte_tilknytninger,$indirekte_tilknytninger,$samler_indir,$stamdata);
		//echo "overgrupper der skal kigges paa (tom, hvis antallet af overgrupper er forskelligt fra een, eller hvis den enlige overgruppe findes i direkte tilknytninger):<br>";
		//print_r($naeste_niveau);
		se_helt_op($type, $naeste_niveau,$direkte_tilknytninger,$indirekte_tilknytninger,$samler_indir, $stamdata);
	}
}

$indirekte_tilknytninger = array();

//echo "Direkte tilknytninger er ";
//print_r($direkte_tilknytninger);
//echo "<br><br>";

//echo "Indirekte tilknytninger er ";
//print_r($indirekte_tilknytninger);
//echo "<br><br>";

se_helt_op($type, $direkte_tilknytninger,$direkte_tilknytninger,$indirekte_tilknytninger,$samler_indir, $stamdata);

//echo "Samler_indir er ";
//print_r($samler_indir);
//echo "<br><br>";
//OBS - i virkeligheden er det samler der lister alle de grupper man er indirekte tilknyttet.

if($type == "begivenhed")
{
	echo "<br><br><b class='rubrik'>".$stamdata['navn']." er endnu ikke noteret som en del af:</b><br><br>";
}
elseif($type == "entitet")
{
	echo "<br><br><b class='rubrik'>".$stamdata['navn']." er endnu ikke med i:</b><br><br>";
}
elseif($type == "sted")
{
	echo "<br><br><b class='rubrik'>".$stamdata['navn']." er endnu ikke noteret som en del af:</b><br><br>";
}
echo "<ul>";

foreach($list_alle as $r)
{

	if(!in_array($r['id'],$direkte_tilknytninger) /*and !in_array($r['id'],$samler_indir)*/)
	{
		echo "<li><p class='ink'>".$r['navn']."</p>";
		if(in_array($r['id'],$samler_indir))
		{
			if($type == "begivenhed")
			{
				echo "<p class='rubrik'> (bemærk at ".$stamdata['navn']." allerede indirekte er en del af denne begivenhed)</p>";
			}
			elseif($type == "entitet")
			{
				echo "<p class='rubrik'> (bemærk at ".$stamdata['navn']." allerede indirekte er med i denne gruppe)</p>";
			}
			elseif($type == "sted")
			{
				echo "<p class='rubrik'> (bemærk at ".$stamdata['navn']." allerede indirekte ligger i dette område)</p>";
			}
			
		}
		
		?>
		<form action="<? echo base_url() ?>all/rediger/normalrelationer_over/<? echo $type; ?>/<? echo $stamdata['id']; ?>" method="post">
			<input type="hidden" name="aktion" value="opret">
			<input type="hidden" name="id_over" value="<? echo $r['id']; ?>"/>
			<input class="submit" type=submit value="<? 
				if($type == "begivenhed"){ echo "tilføj"; }
				elseif($type == "entitet"){ echo "tilføj"; }
				elseif($type == "sted"){ echo "tilføj"; }
			?>"/>
		</form><br>
		<?
	}
}
echo "</ul>";







?>
</div>
</div>
<br>
